Software platforms, for example, call processing platforms, in one example comprise a plurality of resources such as processors, memory, communication ports and/or signaling links. The call processing platform runs a plurality of call processing applications that share the plurality of resources. For example, the call processing platform allocates portions of the plurality of resources to each call processing application as needed. As a load level of the call processing platform increases, a quality of service level associated with the call processing applications is reduced. For example, as more calls are handled by the call processing applications, the plurality of resources become overloaded which increases response time and reduces the quality of service.
In known call processing platforms, the call processing platform starts in a normal operational mode and monitors the plurality of resources. If the plurality of resources become overloaded during a peak traffic period, the call processing platform manages the load level by moving into an overload mode. The call processing platform in one example starts to reject one or more of the incoming calls to reduce the load level of the call processing platform. For example, the call processing platform performs “call gapping” and/or “call throttling”. However, the call processing platform is unable to determine which call processing applications are causing the overload condition. The call processing platform must perform call gapping on all incoming calls to the call processing platform. When performing call gapping on all incoming calls, the call processing platform in one example may even reject calls directed towards call processing applications that are operating well within their projected resource demands. So, the call processing platform often starves a well-behaved call processing application that is operating within engineered parameters in order to maintain an overall platform-level load control.
Thus, a need exists for an increased ability to coordinate the rejection of calls with a desired reduction of load level for a call processing platform.